package com.woniuxy.company5.controller;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.woniuxy.company5.dto.FinWageMouthDto;
import com.woniuxy.company5.entity.FinWageMonth;
import com.woniuxy.company5.service.FinWageMouthService;
import com.woniuxy.company5.util.Result;
import com.woniuxy.company5.vo.FinWageMouthVo;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

/**
 * 功能描述
 *
 * @author PC
 * @date -2022/12/8-时间-14:27
 * @product company5
 */
@RestController
@RequestMapping("/FinWageMonths")
public class FinWageMonthController {
    @Resource
    private FinWageMouthService finWageMouthService;
    @PostMapping("selAll")
    public Result selAll(@RequestBody FinWageMouthDto finWageMouthDto){
        PageHelper.startPage(finWageMouthDto.getCurrentPage(),finWageMouthDto.getPageSize(),true);
        PageHelper.orderBy("id desc");
        List<FinWageMouthVo> finWageMouthVos = finWageMouthService.selAll(finWageMouthDto);
        PageInfo<FinWageMouthVo> pageInfo = new PageInfo<>(finWageMouthVos);
        return Result.ok().data("salaryList",finWageMouthVos).data("total",pageInfo.getTotal());

    }

    @PostMapping("")
    public Result add(@RequestBody FinWageMonth finWageMonth){
        int i = finWageMouthService.insertSelective(finWageMonth);
        if(i > 0){
            return Result.ok();
        }else{
            return Result.error();
        }

    }
    @GetMapping("{id}")
    public Result selOne(@PathVariable Long id){
        FinWageMonth finWageMonth = finWageMouthService.selectByPrimaryKey(id);
        if(finWageMonth != null){
            return Result.ok().data("list",finWageMonth);
        }else {
            return Result.error();
        }
    }

    @PutMapping("")
    public Result update(@RequestBody FinWageMonth finWageMonth){
        int i = finWageMouthService.updateByPrimaryKeySelective(finWageMonth);
        if(i > 0){
            return Result.ok();
        }else{
            return Result.error();
        }
    }
    @DeleteMapping("{id}")
    public Result del(@PathVariable Long id){
        int i = finWageMouthService.deleteByPrimaryKey(id);
        if(i > 0){
            return Result.ok();
        }else{
            return Result.error();
        }
    }

}
